#ifndef _ZENGL_DRAW_CONTEXT_H_
#define _ZENGL_DRAW_CONTEXT_H_

#include "zglConfig.h"
#include "zglEngine.h"

namespace sgui
{
namespace engine
{

class zglEngine;

class zglDrawContext: public sDrawContext
{
private:
    const zglEngine&			m_engine;
public:
	bool beginDraw(sDrawSurface& surface) const;
	void endDraw(sDrawSurface& surface) const;
	void updateDraw(sDrawSurface& surface) const;

	void pushTransform(const obj::sTransform& transform) const;
	void popTransform() const;

	zglDrawContext(const zglEngine& engine, const math::sRectf& rect, const sDrawContext* parentContext, bool clipRect = true);
	zglDrawContext(const zglEngine& engine, const math::sRectf& rect, bool clipRect = true);
};

};
};

#endif